home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
edit
/
mg2a_src.zip
/
SYS
/
AMIGA
/
MAKEFILE.LAT
< prev
next >
Wrap
Text File
|
1988-08-23
|
10KB
|
283 lines
#
# Makefile for Amiga MG 2x, using Lattice small model.
#
# This Makefile uses the PD Make to be found on fish disk #69, expecting to
# run lc and blink from Lattice version 4. The directory that holds this
# makefile and the system-independent files should be named "mg", unless
# TOP is changed to match.
#
# This Makefile should be executed in the main Emacs directory.
#
# System-dependent conditional compilation possibilities:
#
# V11 -- must be defined for the editor to either run on
# or compile on a version 1.1 AmigaDOS system.
# It mainly wards against bugs in the 1.1 ROM
# Kernel.
#
# NO_STARTUP -- if defined, code for using a startup file
# is not included.
#
# MENU -- if defined, Intuition menu selection is
# enabled. If you #define this, the XOBJ macro
# must contain $(MENUOBJ).
#
# BROWSER -- BROWSER uses the Amiga menu to present a MENU of
# files. Selecting a directory entry (ends with a /)
# makes the contents if that directory the next menu
# (deleting any menus that used to follow it);
# selecting a plain file does a "find-file" on that
# file name. Really has to be seen to be understood.
# XOBJ must contain $(MENUOBJ) for this to link.
#
# MOUSE -- if defined, the Amiga mouse is active.
# If you #define this, XOBJ must contain $(MOUSEOBJ)
#
# FKEYS -- if defined, the editor understands the Amiga
# function keys.
#
# NO_BACKUP -- Disable the creation of backup files. If this
# option is defined, the function make-backup-files
# sets a flag that causes save-buffers (C-x C-s)
# to rename the original file to file~ before
# writing the file. Nice if the space is available.
# By default, backup files are not made. Calling
# make-backup-files with no argument enables this
# feature; calling it with an argument disables it.
#
# DO_METAKEY -- if defined, characters with high bit set (i.e.
# most ALT-ed characters in the usa0 keymap)
# are translated into internal META keys
#
# DO_ICONIFY -- if defined, provide a function to iconify the Emacs
# window into a gadget that can be double-clicked to
# return to the normal display.
#
# CHANGE_COLOR -- if defined, adds commands to manipulate
# the rendition of the mode line and the
# foreground and background color of the
# text window and mode line. The names match
# the regular expression
# set-{text,mode}-{foreground,background}
# CHANGE_FONT -- if defined, adds "set-font", which prompts
# for a font name and size, then tries to reopen
# the Emacs window using the new font.
# USE_ARP -- Use the ARP (AmigaDOS Replacement Library) for
# some functions. This makes the executable
# slightly smaller, but gives no new functionality
# in the current version. It will probably be
# required for some future version.
# USE_ARP has not be tested with the LATTICE version
#
#
# MODE_RENDITION -- the these values indicate the way to render
# TEXT_RENDITION characters in the text area and mode line.
# TEXT_RENDITION is mainly there for completeness.
# Possible values are:
# 0 -- plain text
# 1 -- boldface
# 3 -- italic
# 4 -- underscore
# 7 -- reverse-video (default if not defined)
#
# TEXT_FG -- specifies which system color (0-7) to use
# TEXT_BG when drawing the text and mode line. If they
# MODE_FG aren't between 0 and 7, or if a combination
# MODE_BG comes out badly, it's *YOUR* fault. If
# CHANGE_COLOR is defined, you get to change these
# values on the fly. Naturally, making both
# FG and BG the same results in an unusable display...
#
############################################################################
S = sys/amiga
TOP = mg
LIBS = lib:lc.lib lib:amiga.lib
#
# PREFS contains the defines used to select compile-time options.
# XOBJ is used to denote any extra object files needed for these
# options. MENUOBJ and MOUSEOBJ denote the extra object files
# needed for the menu, mouse and Browser. ARPOBJ is the extra
# object file needed to use arp.library. REGEX is the binaries for the regular
# expression code (requires -dREGEX). REGEX has not been tested under
# Lattice 4.0
MOUSEOBJ = ttymouse.o
MENUOBJ = ttymenu.o menustack.o
ICONIFYOBJ = iconify.o ttyicon.o
#
# the following turn into files with no source in them if you compile with
# the appropriate option turned off. Lattice incorrectly flags this as an error
# instead of a warning. To get around this, you have to add the appropriate
# #?OBJ macro to the XOBJ line for your configuration if you want it.
# Ugly, but it works. There are probably other such things that I've missed.
# The fix is to add a name here, put that on your xobj line, and delete it from
# whichever of OBJ OOBJ or IND that the #?.o files lives in now.
#
MACROOBJ = macro.o
REGEXOBJ = regex.o re_search.o
DIREDOBJ = dired.o
# The big burrito, with the Browser *and* the editing MENU. Tough
# on space, but boy is it neat...
#PREFS = -dSTARTUP -dDO_METAKEY -dDO_ICONIFY -dCHANGE_FONT -dBACKUP -dFKEYS \
# -dMOUSE -dMENU -dBROWSER -dCHANGE_COLOR -dBINDKEY -dBSMAP=0
#XOBJ = $(MOUSEOBJ) $(MENUOBJ) $(ICONIFYOBJ) $(MACROOBJ) $(DIREDOBJ)
# Burrito style, with just the Browser...
#PREFS = -dSTARTUP -dBROWSER -dMOUSE -dCHANGE_COLOR -dFKEYS -dDO_ICONIFY \
# -dDO_METAKEY -dBACKUP
#XOBJ = $(MOUSEOBJ) $(MENUOBJ) $(ICONIFYOBJ) $(MACROOBJ) $(DIREDOBJ)
# Burrito style, with just the menu... # untested for mg2
#PREFS = -dSTARTUP -dMENU -dMOUSE -dCHANGE_COLOR -dFKEYS -dDO_ICONIFY \
# -dDO_METAKEY -dBACKUP -dBSMAP=0
#XOBJ = $(MOUSEOBJ) $(MENUOBJ) $(ICONIFYOBJ) $(MACROOBJ) $(DIREDOBJ)
# Mike's favorite version
PREFS = -dMOUSE -dBROWSER -dMODE_RENDITION=0 -dMODE_FG=2 -dDO_METAKEY \
-dGOSREC -dGOSMACS -dDO_ICONIFY -dNO_STARTUP -dNO_DIRED -dBSMAP=1
XOBJ = $(MOUSEOBJ) $(MENUOBJ) $(ICONIFYOBJ) $(MACROOBJ)
# Mic's favorite version # untested for mg2
#PREFS = -dSTARTUP -dBROWSER -dMENU -dMOUSE -dCHANGE_FONT -dFKEYS
# -dDO_METAKEY -dDO_ICONIFY -dBACKUP -dPREFIXREGION
#XOBJ = $(MOUSEOBJ) $(MENUOBJ) $(ICONIFYOBJ) $(MACROOBJ) $(DIREDOBJ)
# Steve's favorite version # untested for mg2
#PREFS = -dSTARTUP -dMOUSE -dCHANGE_FONT -dFKEYS -dDO_METAKEY \
# -dBACKUP -dPREFIXREGION -dUSE_ARP
#XOBJ = $(MOUSEOBJ) $(MACROOBJ) $(DIREDOBJ)
# Absolutely bare-bones, default editor
#PREFS = -dDO_METAKEY
#XOBJ =
CC = lc
AS = asm
CFLAGS = -i$(S)/ -isys/default/ $(PREFS) -dAMIGA -dLATTICE -b -qram:
# Objects which only depend on the "standard" includes
OBJS = basic.o dir.o file.o line.o match.o paragraph.o \
random.o region.o search.o version.o window.o word.o
# Those with unique requirements
IND = buffer.o display.o echo.o extend.o help.o kbd.o keymap.o \
main.o modes.o
# System dependent objects
OOBJS = cinfo.o spawn.o ttyio.o tty.o ttykbd.o fileio.o sleep.o \
sysinit.o console.o dirio.o offset.o
OBJ = $(OBJS) $(IND) $(OOBJS) $(XOBJ)
OSRCS = cinfo.c fileio.c spawn.c ttyio.c tty.c ttykbd.c fileio.c sleep.c \
sysinit.c console.c dirio.c amiga_maps.c offset.c
SRCS = basic.c dir.c dired.c file.c line.c match.c paragraph.c \
random.c region.c search.c version.c window.c word.c \
buffer.c display.c echo.c extend.c help.c kbd.c keymap.c \
macro.c main.c modes.c regex.c re_search.c
OINCS = $(S)/ttydef.h $(S)/sysdef.h sys/default/chrdef.h
INCS = def.h
#
# The editor
# Building in Ram: saves a LOT of time in pass 2 of the linker.
#
mg: $(OBJ)
blink lib:c.o $(OBJ) lib $(LIBS) to mg map nil: \
SMALLCODE SMALLDATA NODEBUG
# From the Manx version forget it for now.
#
# lint:
# lint +vm -ilint: -e7?? $(CFLAGS) std.lnt mg
#
$(OBJ): $(INCS) $(OINCS)
dir.o search.o: $(INCS) $(OINCS)
regex.o re_search.o: $(INCS) $(OINCS) regex.h
kbd.o: $(INCS) $(OINCS) macro.h kbd.h key.h
macro.o main.o: $(INCS) $(OINCS) macro.h
buffer.o display.o keymap.o help.o modes.o dired.o fileio.o: \
$(INCS) $(OINCS) kbd.h
extend.o: $(INCS)